﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
using System.Data;
using System.Text;

using SocialIn.Biz;
using SocialIn.Core.Data;



/*
 * 본인이 등록학 받으미만 해당 페이지를 들어올수 있습니다.
 * 또한, 해당 봉사가 완료가 되었을시에는 접근을 불가합니다.
 */
namespace SocialIn.Web.Search
{
    public partial class VoluntaryActivityDetailBadmi : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                #region 로그인시에만 접근이 가능한 페이지입니다.

                if (HttpContext.Current.Session[ConfigName.SessionMember] == null)
                {
                    Response.Redirect(string.Format("VoluntaryActivityDetail.aspx?seq={0}", Request.QueryString["seq"].ToString()));
                }

                #endregion

                if (Request.QueryString["seq"] != null)
                    GetDefaultDataBind(Request.QueryString["seq"].ToString());


            }
        }

        /// <summary>
        /// 기본 데이터 조회하기
        /// </summary>
        /// <param name="seq"></param>
        protected void GetDefaultDataBind(string seq)
        {
            VoluntaryActivity biz = new VoluntaryActivity();

            Result<DataTable> resultIsVolunteer = biz.GetIVolunteerWrite(seq);

            if (resultIsVolunteer.ReturnValue == null || resultIsVolunteer.ReturnValue.Rows.Count == 0)
            {
                // 본인이 등록한 글이 아니므로 이동한다.
                Response.Redirect(string.Format("VoluntaryActivityDetail.aspx?seq={0}", seq));
            }
            else
            {
                if (resultIsVolunteer.ReturnValue.Rows[0]["Completed"].ToString().Trim().Equals("1"))
                {
                    //완료한 글이므로 이동한다.
                    Response.Redirect(string.Format("VoluntaryActivityDetail.aspx?seq={0}", seq));
                }
            }


            #region 지원자 목록

            Result<DataTable> resultVolunteer = biz.GetVolunteerByBadmiList(seq);

            if (resultVolunteer.ReturnValue != null && resultVolunteer.ReturnValue.Rows.Count > 0)
            {
                dltDrimi.DataSource = resultVolunteer.ReturnValue;
                dltDrimi.DataBind();
            }

            #endregion

            // btnCancle
            // 받으미 본인이 작성 한 글인지를 확인한다.

        }


        /// <summary>
        /// 받으미-봉사 수정하기
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnModify_Click(object sender, EventArgs e)
        {
            //  자원봉사로 이동
        }


        /// <summary>
        /// 받으미-봉사 취소하기
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnCancle_Click(object sender, EventArgs e)
        {
            VoluntaryActivity biz = new VoluntaryActivity();
            int iResult = biz.SetHelpRequestDelete(Request.QueryString["seq"].ToString());
            // SetHelpRequestDelete
            //string javaMessage = "취소하시겠습니까??";
            //string strCheckMessage = "<script language=javascript>if(confirm('" + javaMessage.Replace("'", "").Replace("\r", "").Replace("\n", @"\n") + "')) { return true; }else{ return false; }</script>";
            //ClientScript.RegisterClientScriptBlock(this.GetType(), "Cancle", strCheckMessage);
        }

        /// <summary>
        /// Command Event
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        protected void dltDrimi_ItemCommand(object source, DataListCommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "Allow":   // 허용
                    SetChangStatus("V002", e.CommandArgument.ToString());
                    GetDefaultDataBind(Request.QueryString["seq"].ToString());
                    break;
                case "Deny":    // 거절
                    SetChangStatus("V003", e.CommandArgument.ToString());
                    GetDefaultDataBind(Request.QueryString["seq"].ToString());
                    break;
            }
        }

        /// <summary>
        /// 상태값을 변경합니다.
        /// </summary>
        /// <param name="code"></param>
        protected void SetChangStatus(string code, string volunteerID)
        {
            VoluntaryActivity biz = new VoluntaryActivity();
            int iResult = biz.SetVolunteerStatusModify(Request.QueryString["seq"].ToString(), volunteerID, code);
            // Request.QueryString["seq"].ToString();
        }
    }
}